(function(modules) { // webpackBootstrap
  // The module cache
  // 定义对象用于缓存已加载过的模块
	var installedModules = {};

  // The require function
  // webpack 自定义一个加载方法，核心功能就是返回被加载模块中导出的内容
	function __webpack_require__(moduleId) {

		// Check if module is in cache
		if(installedModules[moduleId]) {
			return installedModules[moduleId].exports;
		}
		// Create a new module (and put it into the cache)
		var module = installedModules[moduleId] = {
			i: moduleId,
			l: false,
			exports: {}
		};

		// Execute the module function
		modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);

		// Flag the module as loaded
		module.l = true;

		// Return the exports of the module
		return module.exports;
	}


  // expose the modules object (__webpack_modules__)
  // 将模块定义保存一份，通过 m 属性挂载到自定义方法身上
	__webpack_require__.m = modules;

  // expose the module cache
  // 将缓存模块备份，通过 c 属性挂载到自定义方法身上
  __webpack_require__.c = installedModules;
  
  // Object.prototype.hasOwnProperty.call
  // 判断被传入的对象 object 身上是否具有指定的属性 xxx， 如果有则返回 true
	__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };

  // define getter function for harmony exports
  // 给当前不具有 name 属性的 exports 增加 name 属性 和 get 方法
	__webpack_require__.d = function(exports, name, getter) {
    // 如果当前 exports 不具有 name 属性，则条件成立
		if(!__webpack_require__.o(exports, name)) {
			Object.defineProperty(exports, name, { enumerable: true, get: getter });
		}
	};

  // define __esModule on exports
  // 为 exports 定义 属性
	__webpack_require__.r = function(exports) {
    // 下面的条件如果成立就说明是一个 esModule
		if(typeof Symbol !== 'undefined' && Symbol.toStringTag) {
			Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
    }
    // 如果条件不成立， 我们也直接在 exports 对象的身上添加一个 __esModule 属性， 它的值是true
		Object.defineProperty(exports, '__esModule', { value: true });
	};

	// create a fake namespace object
	// mode & 1: value is a module id, require it
	// mode & 2: merge all properties of value into the ns
	// mode & 4: return value when already ns object
	// mode & 8|1: behave like require
	__webpack_require__.t = function(value, mode) {
		// 01 调用 t 方法只会，我们会拿到被加载模块中的内容 value
		// 02 对于 value 来说我们可能会直接返回， 也可能会处理之后再返回
		/**
		 * 01 接收两个参数，一个是 value 一般表示被加载的模块id， 第二个值 mode 是一个二进制的数值
		 * 02 t 方法内部做的第一件事情就是调用自定义的 require 方法加载value 对应的模块导出，重新赋值给 value
		 * 03 当获取到了这个 value值之后余下的 8 4 2 ns 都是相对当前的内容进行加工处理，然后返回使用
		 * 04 当mode & 8 成立是直接将 value 返回（commonJS）
		 * 05 当 mode & 4 成立时直接将 value 返回 （esModule）
		 * 06 如果上述条件都不成立， 还是要继续处理 value， 定义一个 ns{}
		 * 6-1 如果拿到的 value 是一个可以直接使用的内容，例如是一个字符串，将它挂载到 ns 的 default属性上
		 * 6-2 如果value是一个对象， 并对value中每个属性挂载相应的属性名称和getter方法
		 */
		if(mode & 1) value = __webpack_require__(value);
		if(mode & 8) return value;
		if((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;
		var ns = Object.create(null);
		__webpack_require__.r(ns);
		Object.defineProperty(ns, 'default', { enumerable: true, value: value });
		if(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));
		return ns;
	};

  // getDefaultExport function for compatibility with non-harmony modules
  // 判断 module是否有__esModule属性， 以此来设置 getter 的属性和方法
	__webpack_require__.n = function(module) {
		var getter = module && module.__esModule ?
			function getDefault() { return module['default']; } :
			function getModuleExports() { return module; };
		__webpack_require__.d(getter, 'a', getter);
		return getter;
	};

	// __webpack_public_path__
	__webpack_require__.p = "";


	// Load entry module and return exports
	return __webpack_require__(__webpack_require__.s = "./src/index.js");
})
/************************************************************************/
({

"./src/index.js":
/*! no static exports found */
(function(module, exports, __webpack_require__) {
  let name = __webpack_require__(/*! ./login.js */ "./src/login.js")
  console.log('index.js内容执行了')
  console.log(name)
}),

"./src/login.js":
/*! no static exports found */
(function(module, exports) {
  module.exports = 'This is Login'
})

});